package com.simple.elpmobile.onlinecase.message;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import android.os.Handler;
import android.os.Looper;
import android.os.Message;

public class MessageCenter extends Handler {
	
	private List<IMessageHandler> mMessageHandler = null;

	public MessageCenter(Looper loop) {
		mMessageHandler = new LinkedList<IMessageHandler>();
	}

	public void addHandler(IMessageHandler msgHandler) {
		mMessageHandler.add(msgHandler);
	}

	public void removeHandler(IMessageHandler msgHandler) {
		mMessageHandler.remove(msgHandler);
	}

	@Override
	public void handleMessage(Message msg) {
		for (Iterator<IMessageHandler> i = mMessageHandler.iterator(); i
				.hasNext();) {
			IMessageHandler msgHandler = (IMessageHandler) i.next();
			if (msgHandler != null)
				msgHandler.onHandleMessage(msg);
			else
				mMessageHandler.remove(msgHandler);
		}
		super.handleMessage(msg);
	}
	
	
}
